"""
Python常用模块
- 运行时服务相关模块: copy / pickle / sys / ...
- 数学相关模块: decimal / math / random / ...
- 字符串处理模块: codecs / re / ...
- 文件处理相关模块: shutil / gzip / ...
- 操作系统服务相关模块: datetime / os / time / logging / io / ...
- 进程和线程相关模块: multiprocessing / threading / queue
- 网络应用相关模块: ftplib / http / smtplib / urllib / ...
- Web编程相关模块: cgi / webbrowser
- 数据处理和编码模块: base64 / csv / html.parser / json / xml / ...

# Python 常用模块大全

Python 拥有丰富的标准库和第三方模块，以下分类介绍最常用的模块及其主要功能：

## 一、基础与系统相关模块

1. **`sys`** - 系统相关功能
   - `sys.argv`: 命令行参数
   - `sys.path`: Python 模块搜索路径
   - `sys.exit()`: 退出程序

2. **`os`** - 操作系统接口
   - `os.getcwd()`: 获取当前工作目录
   - `os.listdir()`: 列出目录内容
   - `os.path`: 路径操作子模块

3. **`os.path`** - 路径操作
   - `os.path.join()`: 拼接路径
   - `os.path.exists()`: 检查路径是否存在
   - `os.path.abspath()`: 获取绝对路径

4. **`platform`** - 平台信息
   - `platform.system()`: 获取操作系统类型

## 二、文件与数据处理

5. **`json`** - JSON 处理
   - `json.dumps()`: Python对象→JSON字符串
   - `json.loads()`: JSON字符串→Python对象

6. **`pickle`** - Python对象序列化
   - `pickle.dump()`: 序列化到文件
   - `pickle.load()`: 从文件反序列化

7. **`csv`** - CSV文件处理
   - `csv.reader()`: 读取CSV文件
   - `csv.writer()`: 写入CSV文件

8. **`io`** - 输入输出流
   - `StringIO`: 内存中的字符串缓冲区

## 三、日期与时间

9. **`datetime`** - 日期时间处理
   - `datetime.datetime`: 日期时间对象
   - `datetime.timedelta`: 时间间隔

10. **`time`** - 时间相关
    - `time.time()`: 获取时间戳
    - `time.sleep()`: 暂停执行

11. **`calendar`** - 日历相关
    - `calendar.month()`: 生成月历

## 四、数学与随机数

12. **`math`** - 数学运算
    - `math.sqrt()`: 平方根
    - `math.sin()`: 正弦函数

13. **`random`** - 随机数
    - `random.random()`: [0,1)随机浮点数
    - `random.choice()`: 随机选择元素

14. **`statistics`** - 统计计算
    - `statistics.mean()`: 计算平均值

## 五、网络与互联网

15. **`urllib`** - URL处理
    - `urllib.request`: 打开和读取URL

16. **`requests`** (第三方) - HTTP请求
    - `requests.get()`: 发送GET请求

17. **`socket`** - 网络套接字
    - 底层网络接口

## 六、并发与多线程

18. **`threading`** - 线程
    - `Thread`: 线程类

19. **`multiprocessing`** - 多进程
    - `Process`: 进程类

20. **`asyncio`** (Python 3.4+) - 异步IO
    - 协程和事件循环

## 七、数据压缩与归档

21. **`zlib`** - 数据压缩
    - `zlib.compress()`: 压缩数据

22. **`gzip`** - gzip文件处理
    - `gzip.open()`: 打开gzip文件

23. **`zipfile`** - ZIP归档
    - `ZipFile`: 处理ZIP文件

## 八、测试与调试

24. **`unittest`** - 单元测试
    - `TestCase`: 测试用例基类

25. **`pdb`** - 调试器
    - 交互式源代码调试

26. **`logging`** - 日志记录
    - `logging.info()`: 记录日志

## 九、数据处理与分析

27. **`collections`** - 容器数据类型
    - `defaultdict`: 带默认值的字典
    - `Counter`: 计数器

28. **`itertools`** - 迭代器工具
    - `product`: 笛卡尔积
    - `permutations`: 排列

29. **`functools`** - 高阶函数
    - `reduce`: 累积运算
    - `lru_cache`: 缓存装饰器

## 十、第三方常用模块

30. **科学计算**
    - `numpy`: 数值计算
    - `pandas`: 数据分析
    - `scipy`: 科学计算

31. **数据可视化**
    - `matplotlib`: 绘图库
    - `seaborn`: 统计可视化

32. **Web开发**
    - `flask`: 轻量级Web框架
    - `django`: 全功能Web框架

33. **数据库**
    - `sqlalchemy`: ORM工具
    - `pymysql`: MySQL连接

34. **机器学习**
    - `scikit-learn`: 机器学习
    - `tensorflow`: 深度学习框架

## 使用技巧

1. 使用 `dir(module)` 查看模块内容
2. 使用 `help(module.function)` 查看帮助
3. 优先使用标准库模块，再考虑第三方模块
4. 使用虚拟环境管理不同项目的依赖

Python 模块生态系统非常丰富，掌握这些常用模块能大大提高开发效率。根据实际需求选择合适的模块组合使用。
"""

# 运行时服务相关模块
import copy    # 实现对象的深拷贝
import pickle      # 实现对象的序列化和反序列化
import sys             # 用于获取命令行参数、环境变量、设置退出状态等


import time
import shutil
import os

seconds = time.time()
print(seconds)
localtime = time.localtime(seconds)
print(localtime)
print(localtime.tm_year)
print(localtime.tm_mon)
print(localtime.tm_mday)
asctime = time.asctime(localtime)
print(asctime)
strtime = time.strftime('%Y-%m-%d %H:%M:%S', localtime)
print(strtime)
mydate = time.strptime('2018-1-1', '%Y-%m-%d')
print(mydate)

# # shutil.copy('/Users/Hao/hello.py', '/Users/Hao/Desktop/first.py')
# os.system('ls -l')
# os.chdir('/Users/Hao')
# os.system('ls -l')
# os.mkdir('test')
import platform
dir(platform)
print(platform.system())
help(platform.system)


